/**
 * @项目名称: shaoshaohuo 
 * @文件名称: ShareUtil.java 
 * @Date: 2015年12月14日 
 * @Copyright: 2015 www.longinf.com Inc. All rights reserved. 
 * 注意：本内容仅限于北京龙息科技有限公司内部传阅，禁止外泄以及用于其他的商业目的
 */
package com.shaoshaohuo.app.utils.sharesdk;

import android.content.Context;

import com.shaoshaohuo.app.entity.BaseEntity;
import com.shaoshaohuo.app.net.HttpRequest.RequestListener;
import com.shaoshaohuo.app.net.RequestService;
import com.shaoshaohuo.app.utils.ToastUtil;

import java.util.HashMap;

import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.Platform.ShareParams;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;

/**
 * 分享入口
 * @Project: shaoshaohuo 
 * @Author: Osborn 
 * @Date: 2015年12月14日 
 */
public class ShareFactory {
	
	private static Context context;
	
	public static final int SHARE_TYPE_PURCHASE = 1;
    public static final int SHARE_TYPE_SUPPLY = SHARE_TYPE_PURCHASE + 1;
    public static final int SHARE_TYPE_APP = SHARE_TYPE_SUPPLY + 1;


    /**
	 * @param context
//	 * @param title		title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
//	 * @param titleUrl		titleUrl是标题的网络链接，仅在人人网和QQ空间使用
//	 * @param text		text是分享文本，所有平台都需要这个字段
//	 * @param imagePath		imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
//	 * @param url		url仅在微信（包括好友和朋友圈）中使用
//	 * @param comment		comment是我对这条分享的评论，仅在人人网和QQ空间使用
//	 * @param site		site是分享此内容的网站名称，仅在QQ空间使用
//	 * @param siteUrl		siteUrl是分享此内容的网站地址，仅在QQ空间使用
	 */
	public static void showShare(Context context, ShareParams paramsToShare) {
		ShareFactory.context = context;
		ShareSDK.initSDK(context);
		OnekeyShare oks = new OnekeyShare();
		// 关闭sso授权
		oks.disableSSOWhenAuthorize();

		//隐藏编辑页面
//		oks.setSilent(false);
		// 分享时Notification的图标和文字 2.5.9以后的版本不调用此方法
		// oks.setNotification(R.drawable.ic_launcher,
		// getString(R.string.app_name));
		// title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
		oks.setTitle(paramsToShare.getTitle());
		// titleUrl是标题的网络链接，仅在人人网和QQ空间使用
		oks.setTitleUrl(paramsToShare.getTitleUrl());
		// text是分享文本，所有平台都需要这个字段
		oks.setText(paramsToShare.getText());
		// imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
		if (paramsToShare.getImageUrl() != null) {
			oks.setImageUrl(paramsToShare.getImageUrl());
		}
		if (paramsToShare.getImageArray() != null) {
			oks.setImageArray(paramsToShare.getImageArray());
		}
		// url仅在微信（包括好友和朋友圈）中使用
		if (paramsToShare.getUrl() != null) {
			oks.setUrl(paramsToShare.getUrl());
		}
		// comment是我对这条分享的评论，仅在人人网和QQ空间使用
		if (paramsToShare.getComment() != null) {
			oks.setComment(paramsToShare.getComment());
		}
		// site是分享此内容的网站名称，仅在QQ空间使用
		if (paramsToShare.getSite() != null) {
			oks.setSite(paramsToShare.getSite());
		}
		// siteUrl是分享此内容的网站地址，仅在QQ空间使用
		if (paramsToShare.getSiteUrl() != null) {
			oks.setSiteUrl(paramsToShare.getSiteUrl());
		}
		if (paramsToShare.getAddress() != null) {
			oks.setAddress(paramsToShare.getAddress());
		}

		oks.setCallback(new PlatformActionListener() {

			@Override
			public void onError(Platform arg0, int arg1, Throwable arg2) {
				ToastUtil.toast("分享失败");
			}

			@Override
			public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {
				RequestService.getInstance().shareGetScore(ShareFactory.context, BaseEntity.class, new RequestListener() {

					@Override
					public void onSuccess(int requestCode, BaseEntity resultData) {
						ToastUtil.toast("分享成功，获得10积分");
					}

					@Override
					public void onFailed(int requestCode, Exception error, String msg) {

					}

				});
			}

			@Override
			public void onCancel(Platform arg0, int arg1) {
				ToastUtil.toast("分享取消");
			}
		});

		// 启动分享GUI
		oks.show(context);
	}
	
}
